Überlegungen Aufgabe 12 ======================= biester = [null,Löwe,Minotaurus,Nessos,Hydra,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null] deathToll = 5 n x 0 "" 1 ", Löwe" 2 ", Löwe, Minotaurus" 3 ", Löwe, Minotaurus, Nessos" 4 ", Löwe, Minotaurus, Nessos, Hydra" return x Dinge, die wir testen können: ----------------------------- Funktionsvariablen: n x Objektvariablen: deathToll biester[] Veränderungen beim Durchlauf der Schleife: ------------------------------------------ deathToll: -> invariant biester[]: -> invariant n: -> Veränderlich x: -> Veränderlich (weitere Variable? / künstliches Testkriterium) Überlegungen in NullListe: -------------------------- biester[]: -> invariant n: -> veränderlich ausgabe: -> veränderlich (künstliches Testkriterium?) Überlegungen zu Listenstrukturen ================================ Listenstruktur auf starrem Array: --------------------------------- # # # # # # # # # # # # # # # # # # # # Einträge setzen: I I I I # # # # # # # # # # # # # # # # 1 2 3 4 Einträge löschen # I I I # # # # # # # # # # # # # # # # 1 2 3 -> resultat: # # I # I I I # # # I # I # # # # # # # 1 2 3 4 5 6 Nachteil: maximale Anzahl von einträgen. Nachteil: freigegebene Felder werden nicht wiederverwendet Die Liste als Datenstruktur =========================== [M,*] -> [M,*] -> [M,*] -> [M,*] Hinzufügen: [M,*] -> [M,*] -> [M,*] -> [M,*] -> [Neu,*] Löschen [M,*] | |------> [M,*] -> [M,*] -> [M,*] Mittendrin einfügen: [M,*] | |------> [M,*] -> [M,*] -> [Neu,*] -> [M,*]